Updater: enable final checks from outside #2785
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As mentioned in #2499, I'm using a custom OTA implementation that fetches only a cryptographically secure checksum via HTTPS and performs the actual update over HTTP (to avoid around running out of memory during the update). To perform the checksum verification, it needs to know where in flash the update has been downloaded to (i.e. _startAddress). To prevent the update from getting applied if the checksum doesn't match but still allow future update attempts, it needs a way to abort an update operation.
These changes are useful not just for performing verification of non-MD5 checksum, but for any kind of post-download verification (e.g. embedded signatures, rollback protection).